# -*- coding:utf-8 -*-
#! python3

from facecat import *

#更新悬浮状态
#views:视图集合
def updateView(views):
	updateViewDefault(views)

#绘制视图
#view:视图
#paint:绘图对象
#clipRect:区域
def onPaint(view, paint, clipRect):
	onPaintDefault(view, paint, clipRect)

#绘制视图边线
#view:视图
#paint:绘图对象
#clipRect:区域
def onPaintBorder(view, paint, clipRect):
	onPaintBorderDefault(view, paint, clipRect)

#视图的鼠标移动方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseMove(view, mp, buttons, clicks, delta):
	onMouseMoveDefault(view, mp, buttons, clicks, delta)
		
#视图的鼠标按下方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseDown(view, mp, buttons, clicks, delta):
	onMouseDownDefault(view, mp, buttons, clicks, delta)

#视图的鼠标抬起方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseUp(view, mp, buttons, clicks, delta):
	onMouseUpDefault(view, mp, buttons, clicks, delta)

#视图的鼠标点击方法
#view 视图
#firstTouch:是否第一次触摸 
#firstPoint:第一次触摸的坐标 
#secondTouch:是否第二次触摸 
#secondPoint:第二次触摸的坐标
#clicks 点击次数
def onClick(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks):
	onClickDefault(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks)

#视图的鼠标滚动方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseWheel(view, mp, buttons, clicks, delta):
	onMouseWheelDefault(view, mp, buttons, clicks, delta)

appPaint = FCPaint() #创建绘图对象
appPaint.defaultUIStyle = "dark"
appPaint.onPaint = onPaint 
appPaint.onPaintBorder = onPaintBorder
appPaint.onMouseDown = onMouseDown 
appPaint.onMouseMove = onMouseMove 
appPaint.onMouseUp = onMouseUp
appPaint.onMouseWheel = onMouseWheel
appPaint.onClick = onClick
appPaint.onUpdateView = updateView

#消息循环
def WndProc(hwnd,msg,wParam,lParam):
	return WndProcDefault(appPaint,hwnd,msg,wParam,lParam)

#创建窗体
createMainWindow(appPaint, "facecat-py", WndProc)

#创建日历
calendar = FCCalendar()
#添加到主框架
addView(calendar, appPaint)
calendar.borderColor = "none"
calendar.textColor = "none"
calendar.dock = "fill"
#初始化日历
initCalendar(calendar)
#设置默认日期
calendar.selectedDay = getYear(calendar.years, 2022).months[10].days[1]
updateCalendar(calendar)
if calendar.paint.defaultUIStyle == "dark":
	calendar.backColor = "rgb(0,0,0)"
	calendar.headDiv.backColor = "rgb(0,0,0)"
	calendar.headDiv.textColor = "rgb(255,255,255)"
	#初始化日的按钮
	dayButtonsSize = len(calendar.dayDiv.dayButtons)
	for i in range(0,dayButtonsSize):
		dayButton = calendar.dayDiv.dayButtons[i]
		dayButton_am = calendar.dayDiv.dayButtons[i]
		dayButton.textColor2 = "rgb(200,200,200)"
		dayButton.textColor = "rgb(255,255,255)"
		dayButton.borderColor = "rgb(100,100,100)"
		dayButton_am.textColor2 = "rgb(200,200,200)"
		dayButton_am.textColor = "rgb(255,255,255)"
		dayButton_am.borderColor = "rgb(100,100,100)"
	#初始化月的按钮
	monthButtonsSize = len(calendar.monthDiv.monthButtons)
	for i in range(0,monthButtonsSize):
		monthButton = calendar.monthDiv.monthButtons[i]
		monthButton_am = calendar.monthDiv.monthButtons[i]
		monthButton.textColor = "rgb(255,255,255)"
		monthButton.borderColor = "rgb(100,100,100)"
		monthButton_am.textColor = "rgb(255,255,255)"
		monthButton_am.borderColor = "rgb(100,100,100)"
	#初始化年的按钮
	yearButtonsSize = len(calendar.yearDiv.yearButtons)
	for i in range(0,yearButtonsSize):
		yearButton = calendar.yearDiv.yearButtons[i]
		yearButton_am = calendar.yearDiv.yearButtons[i]
		yearButton.textColor = "rgb(255,255,255)"
		yearButton.borderColor = "rgb(100,100,100)"
		yearButton.textColor = "rgb(255,255,255)"
		yearButton.borderColor = "rgb(100,100,100)"
elif calendar.paint.defaultUIStyle == "light":
	calendar.backColor = "rgb(255,255,255)"
	calendar.headDiv.backColor = "rgb(255,255,255)"
	calendar.headDiv.textColor = "rgb(0,0,0)"
	#初始化日的按钮
	dayButtonsSize = len(calendar.dayDiv.dayButtons)
	for i in range(0,dayButtonsSize):
		dayButton = calendar.dayDiv.dayButtons[i]
		dayButton_am = calendar.dayDiv.dayButtons[i]
		dayButton.textColor2 = "rgb(50,50,50)"
		dayButton.textColor = "rgb(0,0,0)"
		dayButton.borderColor = "rgb(150,150,150)"
		dayButton_am.textColor2 = "rgb(50,50,50)"
		dayButton_am.textColor = "rgb(0,0,0)"
		dayButton_am.borderColor = "rgb(150,150,150)"
	#初始化月的按钮
	monthButtonsSize = len(calendar.monthDiv.monthButtons)
	for i in range(0,monthButtonsSize):
		monthButton = calendar.monthDiv.monthButtons[i]
		monthButton_am = calendar.monthDiv.monthButtons[i]
		monthButton.textColor = "rgb(0,0,0)"
		monthButton.borderColor = "rgb(150,150,150)"
		monthButton_am.textColor = "rgb(0,0,0)"
		monthButton_am.borderColor = "rgb(150,150,150)"
	#初始化年的按钮
	yearButtonsSize = len(calendar.yearDiv.yearButtons)
	for i in range(0,yearButtonsSize):
		yearButton = calendar.yearDiv.yearButtons[i]
		yearButton_am = calendar.yearDiv.yearButtons[i]
		yearButton.textColor = "rgb(0,0,0)"
		yearButton.borderColor = "rgb(150,150,150)"
		yearButton_am.textColor = "rgb(0,0,0)"
		yearButton_am.borderColor = "rgb(150,150,150)"

#获取窗体大小
rect = win32gui.GetClientRect(appPaint.hWnd)
#更新布局
appPaint.size = FCSize(rect[2] - rect[0], rect[3] - rect[1])
updateView(appPaint.views)
showWindow(appPaint)